package com.eorchis.module.department.dao;

import com.eorchis.core.servicetemplate.treetemplate.jsonbean.jsonnodeparameters.UpdateOrderParameter;
import com.eorchis.module.department.domain.Department;
import com.eorchis.module.department.domain.DepartmentTreeCondition;
import com.eorchis.module.department.domain.jsonbean.DepartmentTreeJsonBean;
import java.util.List;

public abstract interface IDepartmentTreeDao
{
  public abstract boolean isLeapNode(DepartmentTreeCondition paramDepartmentTreeCondition)
    throws Exception;

  public abstract void updateTreeOrderNum(UpdateOrderParameter paramUpdateOrderParameter)
    throws Exception;

  public abstract void updateTreeParentID(DepartmentTreeCondition paramDepartmentTreeCondition)
    throws Exception;

  public abstract List<Department> listDepartmentTree(DepartmentTreeCondition paramDepartmentTreeCondition)
    throws Exception;
  
  public abstract List<Department> listUnSeclectDepartmentTree(DepartmentTreeCondition paramDepartmentTreeCondition)
	throws Exception;
  
  public abstract List<DepartmentTreeJsonBean> listDepartmentCheckedTree(DepartmentTreeCondition paramDepartmentTreeCondition)
    throws Exception;

  public abstract Department getDepartment(DepartmentTreeCondition paramDepartmentTreeCondition)
    throws Exception;

  public abstract void addDepartmentTree(Department paramDepartment)
    throws Exception;

  public abstract void updateDepartmentTree(Department paramDepartment)
    throws Exception;

  public abstract List<Department> listDepartmentProjectTree(DepartmentTreeCondition paramDepartmentTreeCondition)
    throws Exception;
}